package com.ia2014.tp.portal2.converter;

import com.ia2014.tp.portal2.entities.AbstractEntity;
import com.ia2014.tp.portal2.entities.ArticuloElectrodomestico; 
import com.ia2014.tp.portal2.entities.ArticuloInfantil;
import com.ia2014.tp.portal2.entities.ArticuloModa;
import com.ia2014.tp.portal2.entities.ArticuloMueble;
import com.ia2014.tp.portal2.vo.AbstractVO;
import com.ia2014.tp.portal2.vo.ArticuloElectrodomesticoVO; 
import com.ia2014.tp.portal2.vo.ArticuloInfantilVO;
import com.ia2014.tp.portal2.vo.ArticuloModaVO;
import com.ia2014.tp.portal2.vo.ArticuloMuebleVO;


import com.ia2014.tp.portal2.entities.Venta;
import com.ia2014.tp.portal2.entities.ItemVenta;
import com.ia2014.tp.portal2.entities.Usuario;
import com.ia2014.tp.portal2.vo.VentaVO;
import com.ia2014.tp.portal2.vo.ItemVentaVO;
import com.ia2014.tp.portal2.vo.UsuarioVO;



public abstract class AsociacionVoBeanFactory <T extends AbstractVO, F extends AbstractEntity<T>>{

	/**
	 * Devuelve la clase del Entity correspondiente 
	 * a la clase del VO que se le ingrese.
	 * @param vo 
	 * 			Clase del VO del cual quiero el Entity.
	 * @return 
	 * 			Clase del Entity asociado.
	 */
	@SuppressWarnings("rawtypes")
	public static Class getBeanClassFromVo(Class<? extends AbstractVO> clase) {
		
		
		if(clase==ArticuloElectrodomesticoVO.class ){
		
			return ArticuloElectrodomestico.class;
			
		}else if(clase==ArticuloInfantilVO.class){
			
			return ArticuloInfantil.class;
			
		}else if(clase==ArticuloModaVO.class){
			
			return ArticuloModa.class;
			
		}else if(clase==ArticuloMuebleVO.class){
			
			return ArticuloMueble.class;
		}
		
		else if (clase==VentaVO.class){
		
			return Venta.class;
			
		}else if(clase== ItemVentaVO.class){
			
			return ItemVenta.class;
			
		}else if(clase==UsuarioVO.class){
			
			return Usuario.class;
			
		}else{
			return null;
		}
	}
}
